home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3n / xdr_simple.z / xdr_simple
Encoding:
Text File  |  1998-10-20  |  16.9 KB  |  265 lines

  1.  
  2.  
  3.  
  4. xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))                                                  xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _xxxx_dddd_rrrr______ssss_iiii_mmmm_pppp_llll_eeee:  _xxxx_dddd_rrrr______bbbb_oooo_oooo_llll, _xxxx_dddd_rrrr______cccc_hhhh_aaaa_rrrr, _xxxx_dddd_rrrr______dddd_oooo_uuuu_bbbb_llll_eeee, _xxxx_dddd_rrrr______eeee_nnnn_uuuu_mmmm, _xxxx_dddd_rrrr______ffff_llll_oooo_aaaa_tttt,
  10.      _xxxx_dddd_rrrr______ffff_rrrr_eeee_eeee, _xxxx_dddd_rrrr______iiii_nnnn_tttt, _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg, _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt, _xxxx_dddd_rrrr______ssss_hhhh_oooo_rrrr_tttt, _xxxx_dddd_rrrr______uuuu______cccc_hhhh_aaaa_rrrr,
  11.      _xxxx_dddd_rrrr______uuuu______iiii_nnnn_tttt, _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg, _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt, _xxxx_dddd_rrrr______uuuu______ssss_hhhh_oooo_rrrr_tttt, _xxxx_dddd_rrrr______vvvv_oooo_iiii_dddd - library
  12.      routines for external data representation
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      XDR library routines allow C programmers to describe simple data
  16.      structures in a machine-independent fashion.  Protocols such as remote
  17.      procedure calls (RPC) use these routines to describe the format of the
  18.      data.
  19.  
  20.      These routines require the creation of XDR streams [see _xxxx_dddd_rrrr______cccc_rrrr_eeee_aaaa_tttt_eeee(3N)].
  21.  
  22.    RRRRoooouuuuttttiiiinnnneeeessss
  23.      See _rrrr_pppp_cccc(3N) for the definition of the _XXXX_DDDD_RRRR data structure.
  24.  
  25.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_rrrr_pppp_cccc_////_xxxx_dddd_rrrr_...._hhhh_>>>>
  26.  
  27.      _bbbb_oooo_oooo_llll______tttt
  28.      _xxxx_dddd_rrrr______bbbb_oooo_oooo_llll_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _bbbb_oooo_oooo_llll______tttt _****_bbbb_pppp_))))_;;;;
  29.  
  30.           _xxxx_dddd_rrrr______bbbb_oooo_oooo_llll translates between booleans (C integers) and their external
  31.           representations.  When encoding data, this filter produces values of
  32.           either _1111 or _0000.  This routine returns _1111 if it succeeds, _0000 otherwise.
  33.  
  34.      _bbbb_oooo_oooo_llll______tttt
  35.      _xxxx_dddd_rrrr______cccc_hhhh_aaaa_rrrr_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _cccc_hhhh_aaaa_rrrr _****_cccc_pppp_))))_;;;;
  36.  
  37.           _xxxx_dddd_rrrr______cccc_hhhh_aaaa_rrrr translates between C characters and their external
  38.           representations.  This routine returns _1111 if it succeeds, _0000
  39.           otherwise.  Note:  encoded characters are not packed, and occupy 4
  40.           bytes each.  For arrays of characters, it is worthwhile to consider
  41.           _xxxx_dddd_rrrr______bbbb_yyyy_tttt_eeee_ssss, _xxxx_dddd_rrrr______oooo_pppp_aaaa_qqqq_uuuu_eeee or _xxxx_dddd_rrrr______ssss_tttt_rrrr_iiii_nnnn_gggg [see _xxxx_dddd_rrrr______bbbb_yyyy_tttt_eeee_ssss, _xxxx_dddd_rrrr______oooo_pppp_aaaa_qqqq_uuuu_eeee and
  42.           _xxxx_dddd_rrrr______ssss_tttt_rrrr_iiii_nnnn_gggg in _xxxx_dddd_rrrr______cccc_oooo_mmmm_pppp_llll_eeee_xxxx(3N)].
  43.  
  44.      _bbbb_oooo_oooo_llll______tttt
  45.      _xxxx_dddd_rrrr______dddd_oooo_uuuu_bbbb_llll_eeee_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _dddd_oooo_uuuu_bbbb_llll_eeee _****_dddd_pppp_))))_;;;;
  46.  
  47.           _xxxx_dddd_rrrr______dddd_oooo_uuuu_bbbb_llll_eeee translates between C _dddd_oooo_uuuu_bbbb_llll_eeee precision numbers and their
  48.           external representations.  This routine returns _1111 if it succeeds, _0000
  49.           otherwise.
  50.  
  51.      _bbbb_oooo_oooo_llll______tttt
  52.      _xxxx_dddd_rrrr______eeee_nnnn_uuuu_mmmm_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _eeee_nnnn_uuuu_mmmm______tttt _****_eeee_pppp_))))_;;;;
  53.  
  54.           _xxxx_dddd_rrrr______eeee_nnnn_uuuu_mmmm translates between C _eeee_nnnn_uuuu_mmmms (actually integers) and their
  55.           external representations.  This routine returns _1111 if it succeeds, _0000
  56.           otherwise.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))                                                  xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))
  71.  
  72.  
  73.  
  74.      _bbbb_oooo_oooo_llll______tttt
  75.      _xxxx_dddd_rrrr______ffff_llll_oooo_aaaa_tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _ffff_llll_oooo_aaaa_tttt _****_ffff_pppp_))))_;;;;
  76.  
  77.           _xxxx_dddd_rrrr______ffff_llll_oooo_aaaa_tttt translates between C _ffff_llll_oooo_aaaa_tttts and their external
  78.           representations.  This routine returns _1111 if it succeeds, _0000
  79.           otherwise.
  80.  
  81.      _vvvv_oooo_iiii_dddd
  82.      _xxxx_dddd_rrrr______ffff_rrrr_eeee_eeee_((((_xxxx_dddd_rrrr_pppp_rrrr_oooo_cccc______tttt _pppp_rrrr_oooo_cccc_,,,, _cccc_hhhh_aaaa_rrrr _****_oooo_bbbb_jjjj_pppp_))))_;;;;
  83.  
  84.           Generic freeing routine.  The first argument is the XDR routine for
  85.           the object being freed.  The second argument is a pointer to the
  86.           object itself.  Note:  the pointer passed to this routine is not
  87.           freed, but what it points to is freed (recursively).
  88.  
  89.      _bbbb_oooo_oooo_llll______tttt
  90.      _xxxx_dddd_rrrr______iiii_nnnn_tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _iiii_nnnn_tttt _****_iiii_pppp_))))_;;;;
  91.  
  92.           _xxxx_dddd_rrrr______iiii_nnnn_tttt translates between C integers and their external
  93.           representations.  This routine returns _1111 if it succeeds, _0000
  94.           otherwise.
  95.  
  96.      _bbbb_oooo_oooo_llll______tttt
  97.      _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _llll_oooo_nnnn_gggg _****_llll_pppp_))))_;;;;
  98.  
  99.           _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg translates between C _llll_oooo_nnnn_gggg integers and their external
  100.           representations.  This routine returns _1111 if it succeeds, _0000
  101.           otherwise.
  102.  
  103.           Note: In the IRIX 64-bit ABI, this routine may be somewhat
  104.           misleading. The external representation of a _llll_oooo_nnnn_gggg integer is defined
  105.           by the XDR standard to be a 32 bit encoding, but in the IRIX 64-bit
  106.           ABI, a _llll_oooo_nnnn_gggg integer is 64 bits. Hence, in the IRIX 64-bit ABI, _llll_oooo_nnnn_gggg
  107.           integers are truncated by _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg, and _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg is only useful for
  108.           encoding/decoding values in the range of -2147483648 to 2147483647.
  109.  
  110.      _bbbb_oooo_oooo_llll______tttt
  111.      _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, ___________iiii_nnnn_tttt_6666_4444______tttt _****_llll_pppp_))))_;;;;
  112.  
  113.           _xxxx_dddd_rrrr______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt translates between C _6666_4444_----_bbbb_iiii_tttt integers and their
  114.           external representations.  This routine returns _1111 if it succeeds, _0000
  115.           otherwise.
  116.  
  117.      _bbbb_oooo_oooo_llll______tttt
  118.      _xxxx_dddd_rrrr______ssss_hhhh_oooo_rrrr_tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _ssss_hhhh_oooo_rrrr_tttt _****_ssss_pppp_))))_;;;;
  119.  
  120.           _xxxx_dddd_rrrr______ssss_hhhh_oooo_rrrr_tttt translates between C _ssss_hhhh_oooo_rrrr_tttt integers and their external
  121.           representations.  This routine returns _1111 if it succeeds, _0000
  122.           otherwise.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))                                                  xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))
  137.  
  138.  
  139.  
  140.      _bbbb_oooo_oooo_llll______tttt
  141.      _xxxx_dddd_rrrr______uuuu______cccc_hhhh_aaaa_rrrr_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _cccc_hhhh_aaaa_rrrr _****_uuuu_cccc_pppp_))))_;;;;
  142.  
  143.           _xxxx_dddd_rrrr______uuuu______cccc_hhhh_aaaa_rrrr translates between _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd C characters and their
  144.           external representations.  This routine returns _1111 if it succeeds, _0000
  145.           otherwise.
  146.  
  147.      _bbbb_oooo_oooo_llll______tttt
  148.      _xxxx_dddd_rrrr______uuuu______iiii_nnnn_tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _****_iiii_pppp_))))_;;;;
  149.  
  150.           _xxxx_dddd_rrrr______uuuu______iiii_nnnn_tttt translates between _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd C integers and their external
  151.           representations.  This routine returns _1111 if it succeeds, _0000
  152.           otherwise.
  153.  
  154.      _bbbb_oooo_oooo_llll______tttt
  155.      _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _llll_oooo_nnnn_gggg _****_uuuu_llll_pppp_))))_;;;;
  156.  
  157.           _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg translates between C _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _llll_oooo_nnnn_gggg integers and their
  158.           external representations.  This routine returns _1111 if it succeeds, _0000
  159.           otherwise.
  160.  
  161.           Note: In the IRIX 64-bit ABI, this routine may be somewhat
  162.           misleading. The external representation of an _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _llll_oooo_nnnn_gggg integer
  163.           is defined by the XDR standard to be a 32 bit encoding, but in the
  164.           IRIX 64-bit ABI, an _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _llll_oooo_nnnn_gggg integer is 64 bits. Hence, in the
  165.           IRIX 64-bit ABI, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _llll_oooo_nnnn_gggg integers are truncated by _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg,
  166.           and _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg is only useful for encoding/decoding values in the
  167.           range of 0 to 4294967295.
  168.  
  169.      _bbbb_oooo_oooo_llll______tttt
  170.      _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, ___________uuuu_iiii_nnnn_tttt_6666_4444______tttt _****_llll_pppp_))))_;;;;
  171.  
  172.           _xxxx_dddd_rrrr______uuuu______llll_oooo_nnnn_gggg_llll_oooo_nnnn_gggg______tttt translates between C _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _6666_4444_----_bbbb_iiii_tttt integers and
  173.           their external representations.  This routine returns _1111 if it
  174.           succeeds, _0000 otherwise.
  175.  
  176.      _bbbb_oooo_oooo_llll______tttt
  177.      _xxxx_dddd_rrrr______uuuu______ssss_hhhh_oooo_rrrr_tttt_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ssss_hhhh_oooo_rrrr_tttt _****_uuuu_ssss_pppp_))))_;;;;
  178.  
  179.           _xxxx_dddd_rrrr______uuuu______ssss_hhhh_oooo_rrrr_tttt translates between C _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ssss_hhhh_oooo_rrrr_tttt integers and their
  180.           external representations.  This routine returns _1111 if it succeeds, _0000
  181.           otherwise.
  182.  
  183.      _bbbb_oooo_oooo_llll______tttt
  184.      _xxxx_dddd_rrrr______vvvv_oooo_iiii_dddd_((((_XXXX_DDDD_RRRR _****_xxxx_dddd_rrrr_ssss_,,,, _vvvv_oooo_iiii_dddd _****_vvvv_pppp_))))_;;;;
  185.  
  186.           This routine always returns _1111.  It may be passed to RPC routines
  187.           that require a function parameter, where nothing is to be done.
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))                                                  xxxxddddrrrr____ssssiiiimmmmpppplllleeee((((3333NNNN))))
  203.  
  204.  
  205.  
  206. SEE ALSO
  207.      _rrrr_pppp_cccc(3N), _xxxx_dddd_rrrr______aaaa_dddd_mmmm_iiii_nnnn(3N), _xxxx_dddd_rrrr______cccc_oooo_mmmm_pppp_llll_eeee_xxxx(3N), _xxxx_dddd_rrrr______cccc_rrrr_eeee_aaaa_tttt_eeee(3N)
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.